package com.qt.file;

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.IOException;

/**
 * @Author zsf
 * @Date 2023/9/19 22:10
 * @Version 1.0
 */
public class IoDemo02 {

    public static void main(String[] args) throws IOException {

        //File file = new File("D:\\java测试目录");


        //File[] files = file.listFiles();
        /*for (File file1 : files) {
            System.out.println(file1);
        }

        String[] list = file.list();*/
        File file = new File("D:\\java测试目录");
        File[] files1 = File.listRoots();//获取系统所有的盘符
        //C:\        D:\        E:\
        for (File file2 : files1) {
            System.out.println(file2);
        }
        String[] list = file.list();//获取路径下所有内容  （文件： 文件名 + 后缀  ；  文件夹：文件夹名）
        for (String s : list) {
            System.out.println(s);
        }

        //参数一：父级路径
        //参数二：子机路径
        //返回true  当前路径保留
        //返回false  当前路径不保留
        String[] list1 = file.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                File file1 = new File(dir, name);
                return file1.isFile() && file1.getName().endsWith(".txt");
            }
        });

        File[] files = file.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.isFile() && pathname.getName().endsWith(".txt");
            }
        });

        File[] files2 = file.listFiles(
                new FilenameFilter() {
                    @Override
                    public boolean accept(File dir, String name) {
                        File file1 = new File(dir, name);
                        return file1.isFile() && file1.getName().endsWith(".txt");
                    }
                }
        );


    }

}
